\hypertarget{group__ssi__api}{
\section{Ssi\_\-api}
\label{group__ssi__api}\index{Ssi\_\-api@{Ssi\_\-api}}
}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{SSIConfigSetExpClk} (unsigned long ulBase, unsigned long ulSSIClk, unsigned long ulProtocol, unsigned long ulMode, unsigned long ulBitRate, unsigned long ulDataWidth)
\item 
void \hyperlink{group__ssi__api_gabeaec6cb6d3f399f04f94d80b6fbca49}{SSIEnable} (unsigned long ulBase)
\item 
void \hyperlink{group__ssi__api_gaa5109ed3e654e03e6e5906911b48a474}{SSIDisable} (unsigned long ulBase)
\item 
void \hyperlink{group__ssi__api_ga795796d92c0379c10ac56031dad3c0e1}{SSIIntRegister} (unsigned long ulBase, void($\ast$pfnHandler)(void))
\item 
void \hyperlink{group__ssi__api_gaae92441e539b796deae7df1e5950d667}{SSIIntUnregister} (unsigned long ulBase)
\item 
void \hyperlink{group__ssi__api_ga577948c7b8517cefb1d37be67b1334c0}{SSIIntEnable} (unsigned long ulBase, unsigned long ulIntFlags)
\item 
void \hyperlink{group__ssi__api_ga1e94d47982a47bcec085790336bd5471}{SSIIntDisable} (unsigned long ulBase, unsigned long ulIntFlags)
\item 
unsigned long \hyperlink{group__ssi__api_ga18d809d90be1ebab82fe5627f30eca80}{SSIIntStatus} (unsigned long ulBase, tBoolean bMasked)
\item 
void \hyperlink{group__ssi__api_ga2d8ad54753a533b6536737e088a737e9}{SSIIntClear} (unsigned long ulBase, unsigned long ulIntFlags)
\item 
void \hyperlink{group__ssi__api_gacb90e6b1674bf29896d7b44562a75f37}{SSIDataPut} (unsigned long ulBase, unsigned long ulData)
\item 
long \hyperlink{group__ssi__api_gaa11cf2923f7bed07c37cf9fdfae4e97d}{SSIDataPutNonBlocking} (unsigned long ulBase, unsigned long ulData)
\item 
void \hyperlink{group__ssi__api_ga168dd94d42c36448b31ed394d5622945}{SSIDataGet} (unsigned long ulBase, unsigned long $\ast$pulData)
\item 
long \hyperlink{group__ssi__api_ga30f99de20ae6681f8e4fa563dac32a79}{SSIDataGetNonBlocking} (unsigned long ulBase, unsigned long $\ast$pulData)
\item 
void \hyperlink{group__ssi__api_ga6e6a2dff2c84ed4fbc60d92b500e19c9}{SSIDMAEnable} (unsigned long ulBase, unsigned long ulDMAFlags)
\item 
void \hyperlink{group__ssi__api_ga13782e84b08b1ec7630b4dbabd899dd9}{SSIDMADisable} (unsigned long ulBase, unsigned long ulDMAFlags)
\item 
tBoolean \hyperlink{group__ssi__api_gaa366a059f9460cab5ddcf12744a05341}{SSIBusy} (unsigned long ulBase)
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{group__ssi__api_gaa366a059f9460cab5ddcf12744a05341}{
\index{ssi\_\-api@{ssi\_\-api}!SSIBusy@{SSIBusy}}
\index{SSIBusy@{SSIBusy}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIBusy}]{\setlength{\rightskip}{0pt plus 5cm}tBoolean SSIBusy (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gaa366a059f9460cab5ddcf12744a05341}
Determines whether the SSI transmitter is busy or not.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]is the base address of the SSI port.\end{DoxyParams}
Allows the caller to determine whether all transmitted bytes have cleared the transmitter hardware. If {\bfseries false} is returned, then transmit FIFO is empty and all bits of the last transmitted word have left the hardware shift register.

\begin{DoxyReturn}{Returns}
Returns {\bfseries true} if the SSI is transmitting or {\bfseries false} if all transmissions are complete. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{
\index{ssi\_\-api@{ssi\_\-api}!SSIConfigSetExpClk@{SSIConfigSetExpClk}}
\index{SSIConfigSetExpClk@{SSIConfigSetExpClk}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIConfigSetExpClk}]{\setlength{\rightskip}{0pt plus 5cm}void SSIConfigSetExpClk (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulSSIClk, }
\item[{unsigned long}]{ ulProtocol, }
\item[{unsigned long}]{ ulMode, }
\item[{unsigned long}]{ ulBitRate, }
\item[{unsigned long}]{ ulDataWidth}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}
Configures the synchronous serial interface.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulSSIClk}]is the rate of the clock supplied to the SSI module. \item[{\em ulProtocol}]specifies the data transfer protocol. \item[{\em ulMode}]specifies the mode of operation. \item[{\em ulBitRate}]specifies the clock rate. \item[{\em ulDataWidth}]specifies number of bits transferred per frame.\end{DoxyParams}
This function configures the synchronous serial interface. It sets the SSI protocol, mode of operation, bit rate, and data width.

The {\itshape ulProtocol\/} parameter defines the data frame format. The {\itshape ulProtocol\/} parameter can be one of the following values: {\bfseries SSI\_\-FRF\_\-MOTO\_\-MODE\_\-0}, {\bfseries SSI\_\-FRF\_\-MOTO\_\-MODE\_\-1}, {\bfseries SSI\_\-FRF\_\-MOTO\_\-MODE\_\-2}, {\bfseries SSI\_\-FRF\_\-MOTO\_\-MODE\_\-3}, {\bfseries SSI\_\-FRF\_\-TI}, or {\bfseries SSI\_\-FRF\_\-NMW}. The Motorola frame formats imply the following polarity and phase configurations:


\begin{DoxyPre}
    Polarity Phase       Mode
      0       0   SSI\_FRF\_MOTO\_MODE\_0
      0       1   SSI\_FRF\_MOTO\_MODE\_1
      1       0   SSI\_FRF\_MOTO\_MODE\_2
      1       1   SSI\_FRF\_MOTO\_MODE\_3
    \end{DoxyPre}


The {\itshape ulMode\/} parameter defines the operating mode of the SSI module. The SSI module can operate as a master or slave; if a slave, the SSI can be configured to disable output on its serial output line. The {\itshape ulMode\/} parameter can be one of the following values: {\bfseries SSI\_\-MODE\_\-MASTER}, {\bfseries SSI\_\-MODE\_\-SLAVE}, or {\bfseries SSI\_\-MODE\_\-SLAVE\_\-OD}.

The {\itshape ulBitRate\/} parameter defines the bit rate for the SSI. This bit rate must satisfy the following clock ratio criteria:


\begin{DoxyItemize}
\item FSSI $>$= 2 $\ast$ bit rate (master mode)
\item FSSI $>$= 12 $\ast$ bit rate (slave modes)
\end{DoxyItemize}

where FSSI is the frequency of the clock supplied to the SSI module.

The {\itshape ulDataWidth\/} parameter defines the width of the data transfers, and can be a value between 4 and 16, inclusive.

The peripheral clock will be the same as the processor clock. This will be the value returned by \hyperlink{group__sysctl__api_ga7fd64f17ef7b589c51d72df5837f13eb}{SysCtlClockGet()}, or it can be explicitly hard coded if it is constant and known (to save the code/execution overhead of a call to \hyperlink{group__sysctl__api_ga7fd64f17ef7b589c51d72df5837f13eb}{SysCtlClockGet()}).

This function replaces the original SSIConfig() API and performs the same actions. A macro is provided in {\ttfamily \hyperlink{ssi_8h_source}{ssi.h}} to map the original API to this API.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga168dd94d42c36448b31ed394d5622945}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDataGet@{SSIDataGet}}
\index{SSIDataGet@{SSIDataGet}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDataGet}]{\setlength{\rightskip}{0pt plus 5cm}void SSIDataGet (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long $\ast$}]{ pulData}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga168dd94d42c36448b31ed394d5622945}
Gets a data element from the SSI receive FIFO.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em pulData}]pointer to a storage location for data that was received over the SSI interface.\end{DoxyParams}
This function will get received data from the receive FIFO of the specified SSI module, and place that data into the location specified by the {\itshape pulData\/} parameter.

\begin{DoxyNote}{Note}
Only the lower N bits of the value written to {\itshape pulData\/} will contain valid data, where N is the data width as configured by \hyperlink{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{SSIConfigSetExpClk()}. For example, if the interface is configured for 8-\/bit data width, only the lower 8 bits of the value written to {\itshape pulData\/} will contain valid data.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga30f99de20ae6681f8e4fa563dac32a79}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDataGetNonBlocking@{SSIDataGetNonBlocking}}
\index{SSIDataGetNonBlocking@{SSIDataGetNonBlocking}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDataGetNonBlocking}]{\setlength{\rightskip}{0pt plus 5cm}long SSIDataGetNonBlocking (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long $\ast$}]{ pulData}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga30f99de20ae6681f8e4fa563dac32a79}
Gets a data element from the SSI receive FIFO.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em pulData}]pointer to a storage location for data that was received over the SSI interface.\end{DoxyParams}
This function will get received data from the receive FIFO of the specified SSI module, and place that data into the location specified by the {\itshape ulData\/} parameter. If there is no data in the FIFO, then this function will return a zero.

This function replaces the original SSIDataNonBlockingGet() API and performs the same actions. A macro is provided in {\ttfamily \hyperlink{ssi_8h_source}{ssi.h}} to map the original API to this API.

\begin{DoxyNote}{Note}
Only the lower N bits of the value written to {\itshape pulData\/} will contain valid data, where N is the data width as configured by \hyperlink{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{SSIConfigSetExpClk()}. For example, if the interface is configured for 8-\/bit data width, only the lower 8 bits of the value written to {\itshape pulData\/} will contain valid data.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
Returns the number of elements read from the SSI receive FIFO. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gacb90e6b1674bf29896d7b44562a75f37}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDataPut@{SSIDataPut}}
\index{SSIDataPut@{SSIDataPut}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDataPut}]{\setlength{\rightskip}{0pt plus 5cm}void SSIDataPut (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulData}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gacb90e6b1674bf29896d7b44562a75f37}
Puts a data element into the SSI transmit FIFO.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulData}]data to be transmitted over the SSI interface.\end{DoxyParams}
This function will place the supplied data into the transmit FIFO of the specified SSI module.

\begin{DoxyNote}{Note}
The upper 32 -\/ N bits of the {\itshape ulData\/} will be discarded by the hardware, where N is the data width as configured by \hyperlink{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{SSIConfigSetExpClk()}. For example, if the interface is configured for 8-\/bit data width, the upper 24 bits of {\itshape ulData\/} will be discarded.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gaa11cf2923f7bed07c37cf9fdfae4e97d}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDataPutNonBlocking@{SSIDataPutNonBlocking}}
\index{SSIDataPutNonBlocking@{SSIDataPutNonBlocking}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDataPutNonBlocking}]{\setlength{\rightskip}{0pt plus 5cm}long SSIDataPutNonBlocking (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulData}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gaa11cf2923f7bed07c37cf9fdfae4e97d}
Puts a data element into the SSI transmit FIFO.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulData}]data to be transmitted over the SSI interface.\end{DoxyParams}
This function will place the supplied data into the transmit FIFO of the specified SSI module. If there is no space in the FIFO, then this function will return a zero.

This function replaces the original SSIDataNonBlockingPut() API and performs the same actions. A macro is provided in {\ttfamily \hyperlink{ssi_8h_source}{ssi.h}} to map the original API to this API.

\begin{DoxyNote}{Note}
The upper 32 -\/ N bits of the {\itshape ulData\/} will be discarded by the hardware, where N is the data width as configured by \hyperlink{group__ssi__api_gaca60d64781bf7746911fc57e204ff97d}{SSIConfigSetExpClk()}. For example, if the interface is configured for 8-\/bit data width, the upper 24 bits of {\itshape ulData\/} will be discarded.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
Returns the number of elements written to the SSI transmit FIFO. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gaa5109ed3e654e03e6e5906911b48a474}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDisable@{SSIDisable}}
\index{SSIDisable@{SSIDisable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDisable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIDisable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gaa5109ed3e654e03e6e5906911b48a474}
Disables the synchronous serial interface.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address.\end{DoxyParams}
This will disable operation of the synchronous serial interface.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga13782e84b08b1ec7630b4dbabd899dd9}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDMADisable@{SSIDMADisable}}
\index{SSIDMADisable@{SSIDMADisable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDMADisable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIDMADisable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulDMAFlags}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga13782e84b08b1ec7630b4dbabd899dd9}
Disable SSI DMA operation.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]is the base address of the SSI port. \item[{\em ulDMAFlags}]is a bit mask of the DMA features to disable.\end{DoxyParams}
This function is used to disable SSI DMA features that were enabled by \hyperlink{group__ssi__api_ga6e6a2dff2c84ed4fbc60d92b500e19c9}{SSIDMAEnable()}. The specified SSI DMA features are disabled. The {\itshape ulDMAFlags\/} parameter is the logical OR of any of the following values:


\begin{DoxyItemize}
\item SSI\_\-DMA\_\-RX -\/ disable DMA for receive
\item SSI\_\-DMA\_\-TX -\/ disable DMA for transmit
\end{DoxyItemize}

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga6e6a2dff2c84ed4fbc60d92b500e19c9}{
\index{ssi\_\-api@{ssi\_\-api}!SSIDMAEnable@{SSIDMAEnable}}
\index{SSIDMAEnable@{SSIDMAEnable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIDMAEnable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIDMAEnable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulDMAFlags}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga6e6a2dff2c84ed4fbc60d92b500e19c9}
Enable SSI DMA operation.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]is the base address of the SSI port. \item[{\em ulDMAFlags}]is a bit mask of the DMA features to enable.\end{DoxyParams}
The specified SSI DMA features are enabled. The SSI can be configured to use DMA for transmit and/or receive data transfers. The {\itshape ulDMAFlags\/} parameter is the logical OR of any of the following values:


\begin{DoxyItemize}
\item SSI\_\-DMA\_\-RX -\/ enable DMA for receive
\item SSI\_\-DMA\_\-TX -\/ enable DMA for transmit
\end{DoxyItemize}

\begin{DoxyNote}{Note}
The uDMA controller must also be set up before DMA can be used with the SSI.
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gabeaec6cb6d3f399f04f94d80b6fbca49}{
\index{ssi\_\-api@{ssi\_\-api}!SSIEnable@{SSIEnable}}
\index{SSIEnable@{SSIEnable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIEnable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIEnable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gabeaec6cb6d3f399f04f94d80b6fbca49}
Enables the synchronous serial interface.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address.\end{DoxyParams}
This will enable operation of the synchronous serial interface. It must be configured before it is enabled.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga2d8ad54753a533b6536737e088a737e9}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntClear@{SSIIntClear}}
\index{SSIIntClear@{SSIIntClear}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntClear}]{\setlength{\rightskip}{0pt plus 5cm}void SSIIntClear (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulIntFlags}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga2d8ad54753a533b6536737e088a737e9}
Clears SSI interrupt sources.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulIntFlags}]is a bit mask of the interrupt sources to be cleared.\end{DoxyParams}
The specified SSI interrupt sources are cleared, so that they no longer assert. This must be done in the interrupt handler to keep it from being called again immediately upon exit. The {\itshape ulIntFlags\/} parameter can consist of either or both the {\bfseries SSI\_\-RXTO} and {\bfseries SSI\_\-RXOR} values.

\begin{DoxyNote}{Note}
Since there is a write buffer in the Cortex-\/M3 processor, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (since NVIC still sees the interrupt source asserted).
\end{DoxyNote}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga1e94d47982a47bcec085790336bd5471}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntDisable@{SSIIntDisable}}
\index{SSIIntDisable@{SSIIntDisable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntDisable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIIntDisable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulIntFlags}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga1e94d47982a47bcec085790336bd5471}
Disables individual SSI interrupt sources.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulIntFlags}]is a bit mask of the interrupt sources to be disabled.\end{DoxyParams}
Disables the indicated SSI interrupt sources. The {\itshape ulIntFlags\/} parameter can be any of the {\bfseries SSI\_\-TXFF}, {\bfseries SSI\_\-RXFF}, {\bfseries SSI\_\-RXTO}, or {\bfseries SSI\_\-RXOR} values.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga577948c7b8517cefb1d37be67b1334c0}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntEnable@{SSIIntEnable}}
\index{SSIIntEnable@{SSIIntEnable}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntEnable}]{\setlength{\rightskip}{0pt plus 5cm}void SSIIntEnable (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{unsigned long}]{ ulIntFlags}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga577948c7b8517cefb1d37be67b1334c0}
Enables individual SSI interrupt sources.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em ulIntFlags}]is a bit mask of the interrupt sources to be enabled.\end{DoxyParams}
Enables the indicated SSI interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor. The {\itshape ulIntFlags\/} parameter can be any of the {\bfseries SSI\_\-TXFF}, {\bfseries SSI\_\-RXFF}, {\bfseries SSI\_\-RXTO}, or {\bfseries SSI\_\-RXOR} values.

\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga795796d92c0379c10ac56031dad3c0e1}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntRegister@{SSIIntRegister}}
\index{SSIIntRegister@{SSIIntRegister}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntRegister}]{\setlength{\rightskip}{0pt plus 5cm}void SSIIntRegister (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{void($\ast$)(void)}]{ pfnHandler}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga795796d92c0379c10ac56031dad3c0e1}
Registers an interrupt handler for the synchronous serial interface.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em pfnHandler}]is a pointer to the function to be called when the synchronous serial interface interrupt occurs.\end{DoxyParams}
This sets the handler to be called when an SSI interrupt occurs. This will enable the global interrupt in the interrupt controller; specific SSI interrupts must be enabled via \hyperlink{group__ssi__api_ga577948c7b8517cefb1d37be67b1334c0}{SSIIntEnable()}. If necessary, it is the interrupt handler's responsibility to clear the interrupt source via \hyperlink{group__ssi__api_ga2d8ad54753a533b6536737e088a737e9}{SSIIntClear()}.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__interrupt__api_ga471d00d73ae22faa426c202f608e9c69}{IntRegister()} for important information about registering interrupt handlers.
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_ga18d809d90be1ebab82fe5627f30eca80}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntStatus@{SSIIntStatus}}
\index{SSIIntStatus@{SSIIntStatus}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntStatus}]{\setlength{\rightskip}{0pt plus 5cm}unsigned long SSIIntStatus (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase, }
\item[{tBoolean}]{ bMasked}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_ga18d809d90be1ebab82fe5627f30eca80}
Gets the current interrupt status.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address. \item[{\em bMasked}]is {\bfseries false} if the raw interrupt status is required and {\bfseries true} if the masked interrupt status is required.\end{DoxyParams}
This returns the interrupt status for the SSI module. Either the raw interrupt status or the status of interrupts that are allowed to reflect to the processor can be returned.

\begin{DoxyReturn}{Returns}
The current interrupt status, enumerated as a bit field of {\bfseries SSI\_\-TXFF}, {\bfseries SSI\_\-RXFF}, {\bfseries SSI\_\-RXTO}, and {\bfseries SSI\_\-RXOR}. 
\end{DoxyReturn}
\hypertarget{group__ssi__api_gaae92441e539b796deae7df1e5950d667}{
\index{ssi\_\-api@{ssi\_\-api}!SSIIntUnregister@{SSIIntUnregister}}
\index{SSIIntUnregister@{SSIIntUnregister}!ssi_api@{ssi\_\-api}}
\subsubsection[{SSIIntUnregister}]{\setlength{\rightskip}{0pt plus 5cm}void SSIIntUnregister (
\begin{DoxyParamCaption}
\item[{unsigned long}]{ ulBase}
\end{DoxyParamCaption}
)}}
\label{group__ssi__api_gaae92441e539b796deae7df1e5950d667}
Unregisters an interrupt handler for the synchronous serial interface.


\begin{DoxyParams}{Parameters}
\item[{\em ulBase}]specifies the SSI module base address.\end{DoxyParams}
This function will clear the handler to be called when a SSI interrupt occurs. This will also mask off the interrupt in the interrupt controller so that the interrupt handler no longer is called.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__interrupt__api_ga471d00d73ae22faa426c202f608e9c69}{IntRegister()} for important information about registering interrupt handlers.
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
None. 
\end{DoxyReturn}
